<p>This rule raises an issue when ESLint disable comments (<code>eslint-disable</code>, <code>eslint-disable-line</code>, or
<code>eslint-disable-next-line</code>) are used without specifying which rules to disable.</p>
<h2>Why is this an issue?</h2>
<p>ESLint disable comments allow developers to suppress linting warnings and errors in specific parts of their code. While this can be useful for
legitimate cases where a rule doesn’t apply, using blanket disable comments without specifying rules creates several problems.</p>
<p>When you use <code>/* eslint-disable <strong>/</strong></code><strong> without naming specific rules, you disable *all</strong> ESLint rules for
that section of code. This means that if new issues are introduced later - like undefined variables, syntax errors, or security vulnerabilities - they
won’t be reported by ESLint.</p>
<p>Blanket disables also make code reviews less effective. When reviewers see <code>// eslint-disable-line</code>, they don’t know what specific rule
is being bypassed or whether the disable is still necessary. This lack of transparency can lead to technical debt accumulating over time.</p>
<p>Specific disable comments like <code>// eslint-disable-line no-console</code> are much more intentional. They clearly communicate what rule is
being bypassed and why, making the code more maintainable and the intent more obvious to other developers.</p>
<h3>What is the potential impact?</h3>
<p>Using blanket ESLint disable comments can hide important code quality issues, security vulnerabilities, and syntax errors. This reduces the
effectiveness of static analysis and can lead to bugs making it into production. It also makes code reviews less thorough and reduces code
maintainability over time.</p>
<h3>How to fix?</h3>
<p>Replace blanket disable comments with specific rule names. Identify which ESLint rules are being violated and explicitly name them in the disable
comment.</p>
<h4>Non-compliant code example</h4>
<pre data-diff-id="1" data-diff-type="noncompliant">
/* eslint-disable */
console.log('Debug message');
const unusedVar = 'test'; // Noncompliant
</pre>
<h4>Compliant code example</h4>
<pre data-diff-id="1" data-diff-type="compliant">
/* eslint-disable no-console, no-unused-vars */
console.log('Debug message');
const unusedVar = 'test';
</pre>
<h3>Documentation</h3>
<ul>
  <li> <a href="https://github.com/sindresorhus/eslint-plugin-unicorn#readme">eslint-plugin-unicorn</a> - Rule <a
  href="https://github.com/sindresorhus/eslint-plugin-unicorn/blob/HEAD/docs/rules/no-abusive-eslint-disable.md">no-abusive-eslint-disable</a> </li>
  <li> ESLint - Disabling Rules - <a href="https://eslint.org/docs/latest/use/configure/rules#disabling-rules">Official ESLint documentation on how to
  disable rules with comments</a> </li>
  <li> ESLint - Configuring ESLint - <a href="https://eslint.org/docs/latest/use/configure/">Complete guide to ESLint configuration including ignoring
  files</a> </li>
</ul>
